In an industrial environment machines may be operated remotely by dedicated tool applications that are configured to interact with the target machine. These tool applications may be run locally on the machine within a certain Operating System or may be run remotely on a server connecting to the machine. To integrate such Tool applications within another application, for example in order to manage multiple machines in one main application, virtualization may be used.
Prior art solutions implement virtualization by running a (legacy) tool application as guest and displaying the graphical user interface in a window that is embedded in the main application which is running on a host, where the main application called for the use of the legacy application. A virtual machine may be created to emulate a hardware environment for an Operating System not compatible with the hardware resources of the host system. A Hypervisor or Virtual Machine Monitor may be implemented as software, firmware or dedicated hardware. This allows to execute multiple instances of the same or different Operating Systems on the same hardware: thereby enabling sharing of resources and/or making resources available which were otherwise not compatible.
When building a new application within a software operating system different from the Operating System of the prior Tool application, the virtualization described above allows incorporation i.e. embedding of the prior tool within its' managed and validated environment. However, in certain applications it is preferred not to incorporate the complete prior tool in the new application. In addition, directly displaying the prior tool in the new application may lead to airspace issues, as the tool window will always be on top of any other window displayed in the new application; esp. in the case of Windows Presentation Foundation (WPF) as graphical platform.